let form = layui.form;

// ------------------------ 数据回填 ----------------------
function renderUser() {
  // 发送ajax请求，获取用户信息
  $.ajax({
    url: '/my/user/userinfo',
    success: function (res) {
      // console.log(res);
      // 数据回填（找到输入框，设置value值）
      // $('input[name=username]').val(res.data.username);
      // $('input[name=nickname]').val(res.data.nickname);
      // $('input[name=email]').val(res.data.email);
      // $('input[name=id]').val(res.data.id);

      // 使用 layui 提供的 form.val() ，快速收集表单数据，也能快速回填数据
      // form.val('表单的lay-filter属性值', '回调的数据(是一个对象，并且对象的key必须和表单各项的name属性相同)');
      form.val('user', res.data);
    }
  });
}
renderUser();


// ------------------------ 完成修改 ----------------------
$('form').on('submit', function (e) {
  e.preventDefault();
  // 接口文档规定：请求体有 nickname/email/id
  let data = $(this).serialize();
  // console.log(data);
  $.ajax({
    url: '/my/user/userinfo',
    type: 'POST',
    data: data,
    success: function (res) {
      // 无论成功，还是失败，都给出一个提示
      layer.msg(res.message);
      // 更新成功
      if (res.status === 0) {
        // 调用父页面的函数（1.必须有iframe建立父子页面关系；2.必须使用live server的方式打开）
        window.parent.getUserInfo();
      }
    }
  });
})


// ------------------------  重置  ----------------------
// button:contains("重置") jQuery一个选择器，根据标签的内容来选择。
// 这里的意思是，查找内容包含 “重置” 的button元素
$('button:contains("重置")').on('click', function (e) {
  e.preventDefault(); // 阻止默认行为可选，因为后续要重新数据回填
  renderUser(); // 调用函数，重新数据回填一下即可恢复原样
})
